package com.xiaoq.baiduunit.entity;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by chenjh on 2017/10/23.
 */
public class CommunicateResponse {

    private long logId;
    private String jsonRes;

    public List<Action> actionList = new ArrayList<>();

    public Schema schema;

    public String sessionId;

    public List<Slots> slots = new ArrayList<>();

    public static class Slots {
        public Double confidence;
        public Integer length;
        public Boolean needClarify;
        public String normalizedWord;
        public Integer offset;
        public String originalWord;
        public String type;
        public String wordType;
		public Double getConfidence() {
			return confidence;
		}
		public void setConfidence(Double confidence) {
			this.confidence = confidence;
		}
		public Integer getLength() {
			return length;
		}
		public void setLength(Integer length) {
			this.length = length;
		}
		public Boolean getNeedClarify() {
			return needClarify;
		}
		public void setNeedClarify(Boolean needClarify) {
			this.needClarify = needClarify;
		}
		public String getNormalizedWord() {
			return normalizedWord;
		}
		public void setNormalizedWord(String normalizedWord) {
			this.normalizedWord = normalizedWord;
		}
		public Integer getOffset() {
			return offset;
		}
		public void setOffset(Integer offset) {
			this.offset = offset;
		}
		public String getOriginalWord() {
			return originalWord;
		}
		public void setOriginalWord(String originalWord) {
			this.originalWord = originalWord;
		}
		public String getType() {
			return type;
		}
		public void setType(String type) {
			this.type = type;
		}
		public String getWordType() {
			return wordType;
		}
		public void setWordType(String wordType) {
			this.wordType = wordType;
		}
    }

    public static class Action {
        public String actionId;
        public ActionType actionType;
        public List argList = new ArrayList<>();
        public int confidence;
        public List exeStatusList = new ArrayList<>();
        public List<String> hintList = new ArrayList<String>();
        public String mainExe;
        public String say;
		public String getActionId() {
			return actionId;
		}
		public void setActionId(String actionId) {
			this.actionId = actionId;
		}
		public ActionType getActionType() {
			return actionType;
		}
		public void setActionType(ActionType actionType) {
			this.actionType = actionType;
		}
		public List getArgList() {
			return argList;
		}
		public void setArgList(List argList) {
			this.argList = argList;
		}
		public int getConfidence() {
			return confidence;
		}
		public void setConfidence(int confidence) {
			this.confidence = confidence;
		}
		public List getExeStatusList() {
			return exeStatusList;
		}
		public void setExeStatusList(List exeStatusList) {
			this.exeStatusList = exeStatusList;
		}
		public List<String> getHintList() {
			return hintList;
		}
		public void setHintList(List<String> hintList) {
			this.hintList = hintList;
		}
		public String getMainExe() {
			return mainExe;
		}
		public void setMainExe(String mainExe) {
			this.mainExe = mainExe;
		}
		public String getSay() {
			return say;
		}
		public void setSay(String say) {
			this.say = say;
		}
    }

    public static class ActionType {
        public String target;
        public String targetDetail;
        public String type;
        public String typeDetail;
		public String getTarget() {
			return target;
		}
		public void setTarget(String target) {
			this.target = target;
		}
		public String getTargetDetail() {
			return targetDetail;
		}
		public void setTargetDetail(String targetDetail) {
			this.targetDetail = targetDetail;
		}
		public String getType() {
			return type;
		}
		public void setType(String type) {
			this.type = type;
		}
		public String getTypeDetail() {
			return typeDetail;
		}
		public void setTypeDetail(String typeDetail) {
			this.typeDetail = typeDetail;
		}
    }

    public static class Schema {
        public List<Slot> botMergedSlots = new ArrayList();
        public String currentQueryInent;
        public int intentConfidence;
		public List<Slot> getBotMergedSlots() {
			return botMergedSlots;
		}
		public void setBotMergedSlots(List<Slot> botMergedSlots) {
			this.botMergedSlots = botMergedSlots;
		}
		public String getCurrentQueryInent() {
			return currentQueryInent;
		}
		public void setCurrentQueryInent(String currentQueryInent) {
			this.currentQueryInent = currentQueryInent;
		}
		public int getIntentConfidence() {
			return intentConfidence;
		}
		public void setIntentConfidence(int intentConfidence) {
			this.intentConfidence = intentConfidence;
		}
    }

    public static class Slot {
        public Integer begin;
        public Integer confidence;
        public Integer length;
        public String merge_method;
        public String normalized_word;
        public String original_word;
        public Integer session_offset;
        public String type;
        public String word_type;
		public Integer getBegin() {
			return begin;
		}
		public void setBegin(Integer begin) {
			this.begin = begin;
		}
		public Integer getConfidence() {
			return confidence;
		}
		public void setConfidence(Integer confidence) {
			this.confidence = confidence;
		}
		public Integer getLength() {
			return length;
		}
		public void setLength(Integer length) {
			this.length = length;
		}
		public String getMerge_method() {
			return merge_method;
		}
		public void setMerge_method(String merge_method) {
			this.merge_method = merge_method;
		}
		public String getNormalized_word() {
			return normalized_word;
		}
		public void setNormalized_word(String normalized_word) {
			this.normalized_word = normalized_word;
		}
		public String getOriginal_word() {
			return original_word;
		}
		public void setOriginal_word(String original_word) {
			this.original_word = original_word;
		}
		public Integer getSession_offset() {
			return session_offset;
		}
		public void setSession_offset(Integer session_offset) {
			this.session_offset = session_offset;
		}
		public String getType() {
			return type;
		}
		public void setType(String type) {
			this.type = type;
		}
		public String getWord_type() {
			return word_type;
		}
		public void setWord_type(String word_type) {
			this.word_type = word_type;
		}
    }

	public long getLogId() {
		return logId;
	}

	public void setLogId(long logId) {
		this.logId = logId;
	}

	public String getJsonRes() {
		return jsonRes;
	}

	public void setJsonRes(String jsonRes) {
		this.jsonRes = jsonRes;
	}

	public List<Action> getActionList() {
		return actionList;
	}

	public void setActionList(List<Action> actionList) {
		this.actionList = actionList;
	}

	public Schema getSchema() {
		return schema;
	}

	public void setSchema(Schema schema) {
		this.schema = schema;
	}

	public String getSessionId() {
		return sessionId;
	}

	public void setSessionId(String sessionId) {
		this.sessionId = sessionId;
	}

	public List<Slots> getSlots() {
		return slots;
	}

	public void setSlots(List<Slots> slots) {
		this.slots = slots;
	}

}
